package cd.cdyb.sms.service;

import cd.cdyb.sms.dto.PageResult;
import cd.cdyb.sms.dto.TemplateDto;
import cd.cdyb.sms.dto.expand.ExTemplateDto;
import cd.cdyb.sms.dto.query.QueryTemplateDto;
import cd.cdyb.sms.exception.BusinessException;

import java.util.Map;

public interface TemplateService {

    /**
     * 新增
     */
    void insertSignature(TemplateDto templateDto) throws BusinessException;

    /**
     * 分页
     */
    PageResult<ExTemplateDto> findTemplatePage(QueryTemplateDto queryTemplateDto);

    /**
     * 模板详情
     */
    ExTemplateDto getTemplateById(Integer templateId) throws BusinessException;

    /**
     * 通过ID获取缓存的模版详情
     *
     * @param templateId 模版ID
     * @return 模版详情
     */
    String getCacheTemplateById(String templateId);


    /**
     * 首页 签名统计
     */
    Map<String, Long> indexTemplateStatisticsWithClient(Integer companyId);

}
